// 参数     Object       {}
// url      String      请求地址              http://localhost/
// type     String      请求方式              get / post
// data     Object      请求参数              {a: 1, b: 2}

// ajax({
//     url:'请求地址',
//     type:'请求方式',
//     data:{a: 1, b: 2},
//     success(res){
//         console.log(res);
//     }
// })


function queryStr(options) {
    // console.log(options)
    const arr = []

    for (let key in options) {
        arr.push(key + '=' + options[key])
    }
    // console.log(arr.join('&'))
    return arr.join('&')
}
// queryStr({ a: 1, b: 2, c: 3 })

function ajax(options) {
    // 1. 创建
    let xhr = new XMLHttpRequest()

    // 2. 连接
    if (options.type === 'get') {
        xhr.open('get', options.url + '?' + queryStr(options.data), true)
    }
    if (options.type === 'post') {
        xhr.open('post', options.url, true)
    }
    // 3. 发送
    if (options.type === 'get') {
        xhr.send()
    }
    if (options.type === 'post') {
        // 设置请求头
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
        xhr.send(queryStr(options.data))
    }

    // 4. 接收
    xhr.onload = function () {
        // console.log(xhr.responseText)
        // console.log(options.success)
        // options.success(xhr.responseText)
        if (options.success) {
            options.success(xhr.responseText)
        }
    }
}
